#ifndef PARAMNONSTANDARD485_H
#define PARAMNONSTANDARD485_H

#include <QString>
class ParamNonStandard485 {
public:
    ParamNonStandard485();
    ~ParamNonStandard485();
    void readParam( const QString& config_name );
    void printParam();

    struct SerialConfig {
        /***** 串口配置*****/
        QString SerialPortNameParameter;  //串口名
        int     SerialParityParameter;    //奇偶校验
        int     SerialBaudRateParameter;  //波特率
        int     SerialDataBitsParameter;  //串行数据位
        int     SerialStopBitsParameter;  //停止位
        int     SerialTimeout;            //超时
        int     SerialFrequency;          //下发报文间隔
    };
    struct TransmissionConfig {
        /***** 传输配置*****/
        int Car_OPEN_Transmission;      // 是否开启传输功能
        int Car_UP_Left_StatID;         // 上左
        int Car_UP_Right_StatID;        // 上右
        int Car_Down_Left_StatID;       // 下左
        int Car_Down_Right_StatID;      // 下右
        int TransmissionReadFrequency;  // 传输读取频率ssssss
        int TransmissionSpeed;          // 速度
        int TransmissionWaiterTimer;    // 传输发数据后，等待时间，不能小于：下发报文间隔
    };
    struct BatterConfig {
        /***** 电池****/
        int Car_OPEN_Batter;       //是否开启电池采集功能
        int Car_Battery_StartID;   //电池设备号
        int BatteryReadFrequency;  //电池读取频率
        int BatteryWaitertimer;    //电池数据量大，防止数据接收不完整，不能小于：下发报文间隔
    };
    struct ShurtDoorConfig {
        /******卷帘门************/
        int Car_OPEN_ShutterDoor;      // 是否开启卷帘门功能
        int Car_ShutterDoor_StatID;    // 卷帘门
        int ShutterDoorReadFrequency;  // 卷帘门读取频率
        int ShutterDoorUpSpeed;        // 卷帘门上
        int ShutterDoorDownSpeed;      // 卷帘门下
        int ShutterDoorWaiterTimer;    // 卷帘门发数据后，等待时间，不能小于：下发报文间隔
    };
    SerialConfig*       getSerialConfig();
    TransmissionConfig* getTransmissionConfig();
    ShurtDoorConfig*    getShurtDoorConfig();
    BatterConfig*       getBatterConfig();

private:
    /***** 串口配置*****/
    SerialConfig* serialConfig_p;
    /***** 传输配置*****/
    TransmissionConfig* transmissionConfig_p;
    /******卷帘门************/
    ShurtDoorConfig* shurtDoorConfig_p;
    /***** 电池****/
    BatterConfig* batterConfig_p;
};

#endif  // PARAMNONSTANDARD485_H
